1. ListReader Ҫػóҹѵ 
2. OpenReader ͡Ѻػóͧ 
3. SelectApplet CM_AID ͡شѺҹ CID 
4. GetCardInfo ҹ CID 㹵 
5. SelectApplet MOI_AID ͡ش˹ҺѵûШӵǻЪҪ 
6. ReadData ҹҢ˹Һѵ 㹵 

ҹ GetCardInfo 

 Public Sub get_cid()
        Dim CHIP_INFO_SIZE As Integer
        Dim CID_SIZE As Integer
        Dim pre_perso, chip, os, perso As String
        'Dim laser_id2 As String

        '//---GET CID---//
    
        Dim m_cid_str as String = New String(" "c, 16)
        chip = New String(" "c, 20)
        os = New String(" "c, 20)
        pre_perso = New String(" "c, 20)
        perso = New String(" "c, 20)

        rc = Select_Applet(Trim(CM_AID), err_code)
        If (rc <> SCAPI_SUCCESS) Then
            Call error_text("  Select_Applet", rc, err_code)
            Call close_reader()
            Exit Sub
        End If

        rc = GetCardInfo(m_cid_str, chip, os, pre_perso, perso, status)
        If (rc <> SCAPI_SUCCESS) Then
            Call error_text("GetCardInfo", rc, err_code)
            Call close_reader()
            Exit Sub
        End If

        Return m_cid_str.Trim
    End Sub


////bp1no///
Public Sub get_bp1no()
        Dim block_id, offset As Integer
        Dim dataBuf As String
        Dim data_size As Integer
        Dim aid As String
        aid = MOI_AID
        rc = Select_Applet(Trim(aid), err_code)
        If (rc <> SCAPI_SUCCESS) Then
            Call error_text("  Select_Applet", rc, err_code)
            Call close_reader()
            Exit Sub
        End If
        block_id = 0
        offset = 226
        data_size = 11
        dataBuf = New String(" ", data_size + 6)
        rc = Read_Data(m_card_type, block_id, offset, data_size, dataBuf, err_code)
        If (rc <> SCAPI_SUCCESS) Then
            Call error_text("  Read_Data()", rc, err_code)
            Call close_reader()
            Exit Sub
        End If
        BP1NO = dataBuf.Trim()
    End Sub
